CLEU = CreateFrame("Frame")

RCE_RegisteredFrames = {}

function CLEU:HandleCombatEvent(noop, timestamp, eventType, ...)
	for frame, data in pairs(RCE_RegisteredFrames) do
		if data[eventType] then
			data[eventType](frame, ...)
		end
	end
end

function RegisterCombatEvent(self, event, func)
	if not RCE_RegisteredFrames[self] then
		RCE_RegisteredFrames[self] = {}
	end
	RCE_RegisteredFrames[self][event] = func
end
	
CLEU:RegisterEvent("COMBAT_LOG_EVENT_UNFILTERED")
CLEU:SetScript("OnEvent", CLEU.HandleCombatEvent)